1. Field of the Invention
The present invention relates to facilitating connections and/or sessions between any of the user devices and/or users in a system having multiple colocation facilities, wherein such connections and/or sessions may be facilitated between user devices and/or users associated with different colocation facilities.
2. Background of the Invention
A colocation facility or center (colo) is a type of data center or server farm where a great number of servers and/or databases are relatively closely located, such as within a building or a warehouse. The servers and/or databases are interconnected and together operate to provide multiple types of telecommunications and/or network services.
The types of services provided by colos include, but are not limited to, web commerce, enterprise, and telecommunications services. Among these, Yahoo!® Messenger is a specific example of an application that utilizes a colo infrastructure.
Currently, a single colo architecture often serves as the infrastructure for a particular type of service. For example, with Yahoo!® Messenger, a single colo located in the United States serves all Messenger users throughout the entire world.
A single-colo architecture has several problems. For example, a single-colo architecture has poor scalability. Expansion of services may be limited by colo capacity, which is limited by the particular physical plant in which the colo is located. Users far away from the colo's geographical location may experience poor quality services. For example, if a colo is located in the United States, then international users in Europe, Asia, Africa, and Australia may experience delays in their connections to the colo due to the long distances separating the users and the colo. If the single colo experiences difficulties or problems, there are typically no other colos stepping in to provide services. On the other hand, if a failover backup colo is provided to take over the services when the primary colo experiences problems, then the backup colo remains idle for the majority of times when the primary colo functions correctly. In addition, it is often difficult to keep an idle backup colo up to date with the latest software application and/or hardware capacity due to the lack of real traffic. And a single-colo lacks the ability for customization based on local needs and requirements.
Accordingly, what is needed are systems and methods to address the above-identified problems.